package com.cn.kehong.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PhysicalChemicalExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PhysicalChemicalExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andRelateIdIsNull() {
            addCriterion("relate_id is null");
            return (Criteria) this;
        }

        public Criteria andRelateIdIsNotNull() {
            addCriterion("relate_id is not null");
            return (Criteria) this;
        }

        public Criteria andRelateIdEqualTo(String value) {
            addCriterion("relate_id =", value, "relateId");
            return (Criteria) this;
        }

        public Criteria andRelateIdNotEqualTo(String value) {
            addCriterion("relate_id <>", value, "relateId");
            return (Criteria) this;
        }

        public Criteria andRelateIdGreaterThan(String value) {
            addCriterion("relate_id >", value, "relateId");
            return (Criteria) this;
        }

        public Criteria andRelateIdGreaterThanOrEqualTo(String value) {
            addCriterion("relate_id >=", value, "relateId");
            return (Criteria) this;
        }

        public Criteria andRelateIdLessThan(String value) {
            addCriterion("relate_id <", value, "relateId");
            return (Criteria) this;
        }

        public Criteria andRelateIdLessThanOrEqualTo(String value) {
            addCriterion("relate_id <=", value, "relateId");
            return (Criteria) this;
        }

        public Criteria andRelateIdLike(String value) {
            addCriterion("relate_id like", value, "relateId");
            return (Criteria) this;
        }

        public Criteria andRelateIdNotLike(String value) {
            addCriterion("relate_id not like", value, "relateId");
            return (Criteria) this;
        }

        public Criteria andRelateIdIn(List<String> values) {
            addCriterion("relate_id in", values, "relateId");
            return (Criteria) this;
        }

        public Criteria andRelateIdNotIn(List<String> values) {
            addCriterion("relate_id not in", values, "relateId");
            return (Criteria) this;
        }

        public Criteria andRelateIdBetween(String value1, String value2) {
            addCriterion("relate_id between", value1, value2, "relateId");
            return (Criteria) this;
        }

        public Criteria andRelateIdNotBetween(String value1, String value2) {
            addCriterion("relate_id not between", value1, value2, "relateId");
            return (Criteria) this;
        }

        public Criteria andTestNumberIsNull() {
            addCriterion("test_number is null");
            return (Criteria) this;
        }

        public Criteria andTestNumberIsNotNull() {
            addCriterion("test_number is not null");
            return (Criteria) this;
        }

        public Criteria andTestNumberEqualTo(String value) {
            addCriterion("test_number =", value, "testNumber");
            return (Criteria) this;
        }

        public Criteria andTestNumberNotEqualTo(String value) {
            addCriterion("test_number <>", value, "testNumber");
            return (Criteria) this;
        }

        public Criteria andTestNumberGreaterThan(String value) {
            addCriterion("test_number >", value, "testNumber");
            return (Criteria) this;
        }

        public Criteria andTestNumberGreaterThanOrEqualTo(String value) {
            addCriterion("test_number >=", value, "testNumber");
            return (Criteria) this;
        }

        public Criteria andTestNumberLessThan(String value) {
            addCriterion("test_number <", value, "testNumber");
            return (Criteria) this;
        }

        public Criteria andTestNumberLessThanOrEqualTo(String value) {
            addCriterion("test_number <=", value, "testNumber");
            return (Criteria) this;
        }

        public Criteria andTestNumberLike(String value) {
            addCriterion("test_number like", value, "testNumber");
            return (Criteria) this;
        }

        public Criteria andTestNumberNotLike(String value) {
            addCriterion("test_number not like", value, "testNumber");
            return (Criteria) this;
        }

        public Criteria andTestNumberIn(List<String> values) {
            addCriterion("test_number in", values, "testNumber");
            return (Criteria) this;
        }

        public Criteria andTestNumberNotIn(List<String> values) {
            addCriterion("test_number not in", values, "testNumber");
            return (Criteria) this;
        }

        public Criteria andTestNumberBetween(String value1, String value2) {
            addCriterion("test_number between", value1, value2, "testNumber");
            return (Criteria) this;
        }

        public Criteria andTestNumberNotBetween(String value1, String value2) {
            addCriterion("test_number not between", value1, value2, "testNumber");
            return (Criteria) this;
        }

        public Criteria andTestTypeIsNull() {
            addCriterion("test_type is null");
            return (Criteria) this;
        }

        public Criteria andTestTypeIsNotNull() {
            addCriterion("test_type is not null");
            return (Criteria) this;
        }

        public Criteria andTestTypeEqualTo(String value) {
            addCriterion("test_type =", value, "testType");
            return (Criteria) this;
        }

        public Criteria andTestTypeNotEqualTo(String value) {
            addCriterion("test_type <>", value, "testType");
            return (Criteria) this;
        }

        public Criteria andTestTypeGreaterThan(String value) {
            addCriterion("test_type >", value, "testType");
            return (Criteria) this;
        }

        public Criteria andTestTypeGreaterThanOrEqualTo(String value) {
            addCriterion("test_type >=", value, "testType");
            return (Criteria) this;
        }

        public Criteria andTestTypeLessThan(String value) {
            addCriterion("test_type <", value, "testType");
            return (Criteria) this;
        }

        public Criteria andTestTypeLessThanOrEqualTo(String value) {
            addCriterion("test_type <=", value, "testType");
            return (Criteria) this;
        }

        public Criteria andTestTypeLike(String value) {
            addCriterion("test_type like", value, "testType");
            return (Criteria) this;
        }

        public Criteria andTestTypeNotLike(String value) {
            addCriterion("test_type not like", value, "testType");
            return (Criteria) this;
        }

        public Criteria andTestTypeIn(List<String> values) {
            addCriterion("test_type in", values, "testType");
            return (Criteria) this;
        }

        public Criteria andTestTypeNotIn(List<String> values) {
            addCriterion("test_type not in", values, "testType");
            return (Criteria) this;
        }

        public Criteria andTestTypeBetween(String value1, String value2) {
            addCriterion("test_type between", value1, value2, "testType");
            return (Criteria) this;
        }

        public Criteria andTestTypeNotBetween(String value1, String value2) {
            addCriterion("test_type not between", value1, value2, "testType");
            return (Criteria) this;
        }

        public Criteria andBatchNumberIsNull() {
            addCriterion("batch_number is null");
            return (Criteria) this;
        }

        public Criteria andBatchNumberIsNotNull() {
            addCriterion("batch_number is not null");
            return (Criteria) this;
        }

        public Criteria andBatchNumberEqualTo(String value) {
            addCriterion("batch_number =", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberNotEqualTo(String value) {
            addCriterion("batch_number <>", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberGreaterThan(String value) {
            addCriterion("batch_number >", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberGreaterThanOrEqualTo(String value) {
            addCriterion("batch_number >=", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberLessThan(String value) {
            addCriterion("batch_number <", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberLessThanOrEqualTo(String value) {
            addCriterion("batch_number <=", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberLike(String value) {
            addCriterion("batch_number like", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberNotLike(String value) {
            addCriterion("batch_number not like", value, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberIn(List<String> values) {
            addCriterion("batch_number in", values, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberNotIn(List<String> values) {
            addCriterion("batch_number not in", values, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberBetween(String value1, String value2) {
            addCriterion("batch_number between", value1, value2, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andBatchNumberNotBetween(String value1, String value2) {
            addCriterion("batch_number not between", value1, value2, "batchNumber");
            return (Criteria) this;
        }

        public Criteria andSampleNameIsNull() {
            addCriterion("sample_name is null");
            return (Criteria) this;
        }

        public Criteria andSampleNameIsNotNull() {
            addCriterion("sample_name is not null");
            return (Criteria) this;
        }

        public Criteria andSampleNameEqualTo(String value) {
            addCriterion("sample_name =", value, "sampleName");
            return (Criteria) this;
        }

        public Criteria andSampleNameNotEqualTo(String value) {
            addCriterion("sample_name <>", value, "sampleName");
            return (Criteria) this;
        }

        public Criteria andSampleNameGreaterThan(String value) {
            addCriterion("sample_name >", value, "sampleName");
            return (Criteria) this;
        }

        public Criteria andSampleNameGreaterThanOrEqualTo(String value) {
            addCriterion("sample_name >=", value, "sampleName");
            return (Criteria) this;
        }

        public Criteria andSampleNameLessThan(String value) {
            addCriterion("sample_name <", value, "sampleName");
            return (Criteria) this;
        }

        public Criteria andSampleNameLessThanOrEqualTo(String value) {
            addCriterion("sample_name <=", value, "sampleName");
            return (Criteria) this;
        }

        public Criteria andSampleNameLike(String value) {
            addCriterion("sample_name like", value, "sampleName");
            return (Criteria) this;
        }

        public Criteria andSampleNameNotLike(String value) {
            addCriterion("sample_name not like", value, "sampleName");
            return (Criteria) this;
        }

        public Criteria andSampleNameIn(List<String> values) {
            addCriterion("sample_name in", values, "sampleName");
            return (Criteria) this;
        }

        public Criteria andSampleNameNotIn(List<String> values) {
            addCriterion("sample_name not in", values, "sampleName");
            return (Criteria) this;
        }

        public Criteria andSampleNameBetween(String value1, String value2) {
            addCriterion("sample_name between", value1, value2, "sampleName");
            return (Criteria) this;
        }

        public Criteria andSampleNameNotBetween(String value1, String value2) {
            addCriterion("sample_name not between", value1, value2, "sampleName");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeIsNull() {
            addCriterion("specifications_type is null");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeIsNotNull() {
            addCriterion("specifications_type is not null");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeEqualTo(String value) {
            addCriterion("specifications_type =", value, "specificationsType");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeNotEqualTo(String value) {
            addCriterion("specifications_type <>", value, "specificationsType");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeGreaterThan(String value) {
            addCriterion("specifications_type >", value, "specificationsType");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeGreaterThanOrEqualTo(String value) {
            addCriterion("specifications_type >=", value, "specificationsType");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeLessThan(String value) {
            addCriterion("specifications_type <", value, "specificationsType");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeLessThanOrEqualTo(String value) {
            addCriterion("specifications_type <=", value, "specificationsType");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeLike(String value) {
            addCriterion("specifications_type like", value, "specificationsType");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeNotLike(String value) {
            addCriterion("specifications_type not like", value, "specificationsType");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeIn(List<String> values) {
            addCriterion("specifications_type in", values, "specificationsType");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeNotIn(List<String> values) {
            addCriterion("specifications_type not in", values, "specificationsType");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeBetween(String value1, String value2) {
            addCriterion("specifications_type between", value1, value2, "specificationsType");
            return (Criteria) this;
        }

        public Criteria andSpecificationsTypeNotBetween(String value1, String value2) {
            addCriterion("specifications_type not between", value1, value2, "specificationsType");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsIsNull() {
            addCriterion("inspection_items is null");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsIsNotNull() {
            addCriterion("inspection_items is not null");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsEqualTo(String value) {
            addCriterion("inspection_items =", value, "inspectionItems");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsNotEqualTo(String value) {
            addCriterion("inspection_items <>", value, "inspectionItems");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsGreaterThan(String value) {
            addCriterion("inspection_items >", value, "inspectionItems");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsGreaterThanOrEqualTo(String value) {
            addCriterion("inspection_items >=", value, "inspectionItems");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsLessThan(String value) {
            addCriterion("inspection_items <", value, "inspectionItems");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsLessThanOrEqualTo(String value) {
            addCriterion("inspection_items <=", value, "inspectionItems");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsLike(String value) {
            addCriterion("inspection_items like", value, "inspectionItems");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsNotLike(String value) {
            addCriterion("inspection_items not like", value, "inspectionItems");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsIn(List<String> values) {
            addCriterion("inspection_items in", values, "inspectionItems");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsNotIn(List<String> values) {
            addCriterion("inspection_items not in", values, "inspectionItems");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsBetween(String value1, String value2) {
            addCriterion("inspection_items between", value1, value2, "inspectionItems");
            return (Criteria) this;
        }

        public Criteria andInspectionItemsNotBetween(String value1, String value2) {
            addCriterion("inspection_items not between", value1, value2, "inspectionItems");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameIsNull() {
            addCriterion("submission_name is null");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameIsNotNull() {
            addCriterion("submission_name is not null");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameEqualTo(String value) {
            addCriterion("submission_name =", value, "submissionName");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameNotEqualTo(String value) {
            addCriterion("submission_name <>", value, "submissionName");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameGreaterThan(String value) {
            addCriterion("submission_name >", value, "submissionName");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameGreaterThanOrEqualTo(String value) {
            addCriterion("submission_name >=", value, "submissionName");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameLessThan(String value) {
            addCriterion("submission_name <", value, "submissionName");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameLessThanOrEqualTo(String value) {
            addCriterion("submission_name <=", value, "submissionName");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameLike(String value) {
            addCriterion("submission_name like", value, "submissionName");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameNotLike(String value) {
            addCriterion("submission_name not like", value, "submissionName");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameIn(List<String> values) {
            addCriterion("submission_name in", values, "submissionName");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameNotIn(List<String> values) {
            addCriterion("submission_name not in", values, "submissionName");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameBetween(String value1, String value2) {
            addCriterion("submission_name between", value1, value2, "submissionName");
            return (Criteria) this;
        }

        public Criteria andSubmissionNameNotBetween(String value1, String value2) {
            addCriterion("submission_name not between", value1, value2, "submissionName");
            return (Criteria) this;
        }

        public Criteria andSubmissionTimeIsNull() {
            addCriterion("submission_time is null");
            return (Criteria) this;
        }

        public Criteria andSubmissionTimeIsNotNull() {
            addCriterion("submission_time is not null");
            return (Criteria) this;
        }

        public Criteria andSubmissionTimeEqualTo(Date value) {
            addCriterion("submission_time =", value, "submissionTime");
            return (Criteria) this;
        }

        public Criteria andSubmissionTimeNotEqualTo(Date value) {
            addCriterion("submission_time <>", value, "submissionTime");
            return (Criteria) this;
        }

        public Criteria andSubmissionTimeGreaterThan(Date value) {
            addCriterion("submission_time >", value, "submissionTime");
            return (Criteria) this;
        }

        public Criteria andSubmissionTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("submission_time >=", value, "submissionTime");
            return (Criteria) this;
        }

        public Criteria andSubmissionTimeLessThan(Date value) {
            addCriterion("submission_time <", value, "submissionTime");
            return (Criteria) this;
        }

        public Criteria andSubmissionTimeLessThanOrEqualTo(Date value) {
            addCriterion("submission_time <=", value, "submissionTime");
            return (Criteria) this;
        }

        public Criteria andSubmissionTimeIn(List<Date> values) {
            addCriterion("submission_time in", values, "submissionTime");
            return (Criteria) this;
        }

        public Criteria andSubmissionTimeNotIn(List<Date> values) {
            addCriterion("submission_time not in", values, "submissionTime");
            return (Criteria) this;
        }

        public Criteria andSubmissionTimeBetween(Date value1, Date value2) {
            addCriterion("submission_time between", value1, value2, "submissionTime");
            return (Criteria) this;
        }

        public Criteria andSubmissionTimeNotBetween(Date value1, Date value2) {
            addCriterion("submission_time not between", value1, value2, "submissionTime");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andIsDelIsNull() {
            addCriterion("is_del is null");
            return (Criteria) this;
        }

        public Criteria andIsDelIsNotNull() {
            addCriterion("is_del is not null");
            return (Criteria) this;
        }

        public Criteria andIsDelEqualTo(String value) {
            addCriterion("is_del =", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelNotEqualTo(String value) {
            addCriterion("is_del <>", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelGreaterThan(String value) {
            addCriterion("is_del >", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelGreaterThanOrEqualTo(String value) {
            addCriterion("is_del >=", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelLessThan(String value) {
            addCriterion("is_del <", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelLessThanOrEqualTo(String value) {
            addCriterion("is_del <=", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelLike(String value) {
            addCriterion("is_del like", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelNotLike(String value) {
            addCriterion("is_del not like", value, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelIn(List<String> values) {
            addCriterion("is_del in", values, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelNotIn(List<String> values) {
            addCriterion("is_del not in", values, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelBetween(String value1, String value2) {
            addCriterion("is_del between", value1, value2, "isDel");
            return (Criteria) this;
        }

        public Criteria andIsDelNotBetween(String value1, String value2) {
            addCriterion("is_del not between", value1, value2, "isDel");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("create_by is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("create_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("create_by =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("create_by <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("create_by >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("create_by >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("create_by <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("create_by <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("create_by like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("create_by not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("create_by in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("create_by not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("create_by between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("create_by not between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNull() {
            addCriterion("update_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNotNull() {
            addCriterion("update_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateByEqualTo(String value) {
            addCriterion("update_by =", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotEqualTo(String value) {
            addCriterion("update_by <>", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThan(String value) {
            addCriterion("update_by >", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
            addCriterion("update_by >=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThan(String value) {
            addCriterion("update_by <", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThanOrEqualTo(String value) {
            addCriterion("update_by <=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLike(String value) {
            addCriterion("update_by like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotLike(String value) {
            addCriterion("update_by not like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByIn(List<String> values) {
            addCriterion("update_by in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotIn(List<String> values) {
            addCriterion("update_by not in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByBetween(String value1, String value2) {
            addCriterion("update_by between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotBetween(String value1, String value2) {
            addCriterion("update_by not between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsIsNull() {
            addCriterion("inspection_results is null");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsIsNotNull() {
            addCriterion("inspection_results is not null");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsEqualTo(String value) {
            addCriterion("inspection_results =", value, "inspectionResults");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsNotEqualTo(String value) {
            addCriterion("inspection_results <>", value, "inspectionResults");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsGreaterThan(String value) {
            addCriterion("inspection_results >", value, "inspectionResults");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsGreaterThanOrEqualTo(String value) {
            addCriterion("inspection_results >=", value, "inspectionResults");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsLessThan(String value) {
            addCriterion("inspection_results <", value, "inspectionResults");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsLessThanOrEqualTo(String value) {
            addCriterion("inspection_results <=", value, "inspectionResults");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsLike(String value) {
            addCriterion("inspection_results like", value, "inspectionResults");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsNotLike(String value) {
            addCriterion("inspection_results not like", value, "inspectionResults");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsIn(List<String> values) {
            addCriterion("inspection_results in", values, "inspectionResults");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsNotIn(List<String> values) {
            addCriterion("inspection_results not in", values, "inspectionResults");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsBetween(String value1, String value2) {
            addCriterion("inspection_results between", value1, value2, "inspectionResults");
            return (Criteria) this;
        }

        public Criteria andInspectionResultsNotBetween(String value1, String value2) {
            addCriterion("inspection_results not between", value1, value2, "inspectionResults");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopIsNull() {
            addCriterion("factory_workshop is null");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopIsNotNull() {
            addCriterion("factory_workshop is not null");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopEqualTo(String value) {
            addCriterion("factory_workshop =", value, "factoryWorkshop");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopNotEqualTo(String value) {
            addCriterion("factory_workshop <>", value, "factoryWorkshop");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopGreaterThan(String value) {
            addCriterion("factory_workshop >", value, "factoryWorkshop");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopGreaterThanOrEqualTo(String value) {
            addCriterion("factory_workshop >=", value, "factoryWorkshop");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopLessThan(String value) {
            addCriterion("factory_workshop <", value, "factoryWorkshop");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopLessThanOrEqualTo(String value) {
            addCriterion("factory_workshop <=", value, "factoryWorkshop");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopLike(String value) {
            addCriterion("factory_workshop like", value, "factoryWorkshop");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopNotLike(String value) {
            addCriterion("factory_workshop not like", value, "factoryWorkshop");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopIn(List<String> values) {
            addCriterion("factory_workshop in", values, "factoryWorkshop");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopNotIn(List<String> values) {
            addCriterion("factory_workshop not in", values, "factoryWorkshop");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopBetween(String value1, String value2) {
            addCriterion("factory_workshop between", value1, value2, "factoryWorkshop");
            return (Criteria) this;
        }

        public Criteria andFactoryWorkshopNotBetween(String value1, String value2) {
            addCriterion("factory_workshop not between", value1, value2, "factoryWorkshop");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberIsNull() {
            addCriterion("packaging_number is null");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberIsNotNull() {
            addCriterion("packaging_number is not null");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberEqualTo(String value) {
            addCriterion("packaging_number =", value, "packagingNumber");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberNotEqualTo(String value) {
            addCriterion("packaging_number <>", value, "packagingNumber");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberGreaterThan(String value) {
            addCriterion("packaging_number >", value, "packagingNumber");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberGreaterThanOrEqualTo(String value) {
            addCriterion("packaging_number >=", value, "packagingNumber");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberLessThan(String value) {
            addCriterion("packaging_number <", value, "packagingNumber");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberLessThanOrEqualTo(String value) {
            addCriterion("packaging_number <=", value, "packagingNumber");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberLike(String value) {
            addCriterion("packaging_number like", value, "packagingNumber");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberNotLike(String value) {
            addCriterion("packaging_number not like", value, "packagingNumber");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberIn(List<String> values) {
            addCriterion("packaging_number in", values, "packagingNumber");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberNotIn(List<String> values) {
            addCriterion("packaging_number not in", values, "packagingNumber");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberBetween(String value1, String value2) {
            addCriterion("packaging_number between", value1, value2, "packagingNumber");
            return (Criteria) this;
        }

        public Criteria andPackagingNumberNotBetween(String value1, String value2) {
            addCriterion("packaging_number not between", value1, value2, "packagingNumber");
            return (Criteria) this;
        }

        public Criteria andBatchAverageIsNull() {
            addCriterion("batch_average is null");
            return (Criteria) this;
        }

        public Criteria andBatchAverageIsNotNull() {
            addCriterion("batch_average is not null");
            return (Criteria) this;
        }

        public Criteria andBatchAverageEqualTo(String value) {
            addCriterion("batch_average =", value, "batchAverage");
            return (Criteria) this;
        }

        public Criteria andBatchAverageNotEqualTo(String value) {
            addCriterion("batch_average <>", value, "batchAverage");
            return (Criteria) this;
        }

        public Criteria andBatchAverageGreaterThan(String value) {
            addCriterion("batch_average >", value, "batchAverage");
            return (Criteria) this;
        }

        public Criteria andBatchAverageGreaterThanOrEqualTo(String value) {
            addCriterion("batch_average >=", value, "batchAverage");
            return (Criteria) this;
        }

        public Criteria andBatchAverageLessThan(String value) {
            addCriterion("batch_average <", value, "batchAverage");
            return (Criteria) this;
        }

        public Criteria andBatchAverageLessThanOrEqualTo(String value) {
            addCriterion("batch_average <=", value, "batchAverage");
            return (Criteria) this;
        }

        public Criteria andBatchAverageLike(String value) {
            addCriterion("batch_average like", value, "batchAverage");
            return (Criteria) this;
        }

        public Criteria andBatchAverageNotLike(String value) {
            addCriterion("batch_average not like", value, "batchAverage");
            return (Criteria) this;
        }

        public Criteria andBatchAverageIn(List<String> values) {
            addCriterion("batch_average in", values, "batchAverage");
            return (Criteria) this;
        }

        public Criteria andBatchAverageNotIn(List<String> values) {
            addCriterion("batch_average not in", values, "batchAverage");
            return (Criteria) this;
        }

        public Criteria andBatchAverageBetween(String value1, String value2) {
            addCriterion("batch_average between", value1, value2, "batchAverage");
            return (Criteria) this;
        }

        public Criteria andBatchAverageNotBetween(String value1, String value2) {
            addCriterion("batch_average not between", value1, value2, "batchAverage");
            return (Criteria) this;
        }

        public Criteria andSupplierNameIsNull() {
            addCriterion("supplier_name is null");
            return (Criteria) this;
        }

        public Criteria andSupplierNameIsNotNull() {
            addCriterion("supplier_name is not null");
            return (Criteria) this;
        }

        public Criteria andSupplierNameEqualTo(String value) {
            addCriterion("supplier_name =", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameNotEqualTo(String value) {
            addCriterion("supplier_name <>", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameGreaterThan(String value) {
            addCriterion("supplier_name >", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameGreaterThanOrEqualTo(String value) {
            addCriterion("supplier_name >=", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameLessThan(String value) {
            addCriterion("supplier_name <", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameLessThanOrEqualTo(String value) {
            addCriterion("supplier_name <=", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameLike(String value) {
            addCriterion("supplier_name like", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameNotLike(String value) {
            addCriterion("supplier_name not like", value, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameIn(List<String> values) {
            addCriterion("supplier_name in", values, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameNotIn(List<String> values) {
            addCriterion("supplier_name not in", values, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameBetween(String value1, String value2) {
            addCriterion("supplier_name between", value1, value2, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSupplierNameNotBetween(String value1, String value2) {
            addCriterion("supplier_name not between", value1, value2, "supplierName");
            return (Criteria) this;
        }

        public Criteria andSectionProcessIsNull() {
            addCriterion("section_process is null");
            return (Criteria) this;
        }

        public Criteria andSectionProcessIsNotNull() {
            addCriterion("section_process is not null");
            return (Criteria) this;
        }

        public Criteria andSectionProcessEqualTo(String value) {
            addCriterion("section_process =", value, "sectionProcess");
            return (Criteria) this;
        }

        public Criteria andSectionProcessNotEqualTo(String value) {
            addCriterion("section_process <>", value, "sectionProcess");
            return (Criteria) this;
        }

        public Criteria andSectionProcessGreaterThan(String value) {
            addCriterion("section_process >", value, "sectionProcess");
            return (Criteria) this;
        }

        public Criteria andSectionProcessGreaterThanOrEqualTo(String value) {
            addCriterion("section_process >=", value, "sectionProcess");
            return (Criteria) this;
        }

        public Criteria andSectionProcessLessThan(String value) {
            addCriterion("section_process <", value, "sectionProcess");
            return (Criteria) this;
        }

        public Criteria andSectionProcessLessThanOrEqualTo(String value) {
            addCriterion("section_process <=", value, "sectionProcess");
            return (Criteria) this;
        }

        public Criteria andSectionProcessLike(String value) {
            addCriterion("section_process like", value, "sectionProcess");
            return (Criteria) this;
        }

        public Criteria andSectionProcessNotLike(String value) {
            addCriterion("section_process not like", value, "sectionProcess");
            return (Criteria) this;
        }

        public Criteria andSectionProcessIn(List<String> values) {
            addCriterion("section_process in", values, "sectionProcess");
            return (Criteria) this;
        }

        public Criteria andSectionProcessNotIn(List<String> values) {
            addCriterion("section_process not in", values, "sectionProcess");
            return (Criteria) this;
        }

        public Criteria andSectionProcessBetween(String value1, String value2) {
            addCriterion("section_process between", value1, value2, "sectionProcess");
            return (Criteria) this;
        }

        public Criteria andSectionProcessNotBetween(String value1, String value2) {
            addCriterion("section_process not between", value1, value2, "sectionProcess");
            return (Criteria) this;
        }





        public Criteria andItemTypeIsNull() {
            addCriterion("itemType is null");
            return (Criteria) this;
        }

        public Criteria andItemTypeIsNotNull() {
            addCriterion("itemType is not null");
            return (Criteria) this;
        }

        public Criteria andItemTypeEqualTo(String value) {
            addCriterion("item_type =", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeNotEqualTo(String value) {
            addCriterion("item_type <>", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeGreaterThan(String value) {
            addCriterion("item_type >", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeGreaterThanOrEqualTo(String value) {
            addCriterion("item_type >=", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeLessThan(String value) {
            addCriterion("item_type <", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeLessThanOrEqualTo(String value) {
            addCriterion("item_type <=", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeLike(String value) {
            addCriterion("item_type like", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeNotLike(String value) {
            addCriterion("item_type not like", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeIn(List<String> values) {
            addCriterion("item_type in", values, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeNotIn(List<String> values) {
            addCriterion("item_type not in", values, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeBetween(String value1, String value2) {
            addCriterion("item_type between", value1, value2, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeNotBetween(String value1, String value2) {
            addCriterion("item_type not between", value1, value2, "itemType");
            return (Criteria) this;
        }





        public Criteria andSourceTypeIsNull() {
            addCriterion("source_type is null");
            return (Criteria) this;
        }

        public Criteria andSourceTypeIsNotNull() {
            addCriterion("source_type is not null");
            return (Criteria) this;
        }

        public Criteria andSourceTypeEqualTo(String value) {
            addCriterion("source_type =", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotEqualTo(String value) {
            addCriterion("source_type <>", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeGreaterThan(String value) {
            addCriterion("source_type >", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeGreaterThanOrEqualTo(String value) {
            addCriterion("source_type >=", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeLessThan(String value) {
            addCriterion("source_type <", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeLessThanOrEqualTo(String value) {
            addCriterion("source_type <=", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeLike(String value) {
            addCriterion("source_type like", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotLike(String value) {
            addCriterion("source_type not like", value, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeIn(List<String> values) {
            addCriterion("source_type in", values, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotIn(List<String> values) {
            addCriterion("source_type not in", values, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeBetween(String value1, String value2) {
            addCriterion("source_type between", value1, value2, "sourceType");
            return (Criteria) this;
        }

        public Criteria andSourceTypeNotBetween(String value1, String value2) {
            addCriterion("source_type not between", value1, value2, "sourceType");
            return (Criteria) this;
        }




        public Criteria andSubmissionTypeIsNull() {
            addCriterion("submission_type is null");
            return (Criteria) this;
        }

        public Criteria andSubmissionTypeIsNotNull() {
            addCriterion("submission_type is not null");
            return (Criteria) this;
        }

        public Criteria andSubmissionTypeEqualTo(String value) {
            addCriterion("submission_type =", value, "submissionType");
            return (Criteria) this;
        }

        public Criteria andSubmissionTypeNotEqualTo(String value) {
            addCriterion("submission_type <>", value, "submissionType");
            return (Criteria) this;
        }

        public Criteria andSubmissionTypeGreaterThan(String value) {
            addCriterion("submission_type >", value, "submissionType");
            return (Criteria) this;
        }

        public Criteria andSubmissionTypeGreaterThanOrEqualTo(String value) {
            addCriterion("submission_type >=", value, "submissionType");
            return (Criteria) this;
        }

        public Criteria andSubmissionTypeLessThan(String value) {
            addCriterion("submission_type <", value, "submissionType");
            return (Criteria) this;
        }

        public Criteria andSubmissionTypeLessThanOrEqualTo(String value) {
            addCriterion("submission_type <=", value, "submissionType");
            return (Criteria) this;
        }

        public Criteria andSubmissionTypeLike(String value) {
            addCriterion("submission_type like", value, "submissionType");
            return (Criteria) this;
        }

        public Criteria andSubmissionTypeNotLike(String value) {
            addCriterion("submission_type not like", value, "submissionType");
            return (Criteria) this;
        }

        public Criteria andSubmissionTypeIn(List<String> values) {
            addCriterion("submission_type in", values, "submissionType");
            return (Criteria) this;
        }

        public Criteria andSubmissionTypeNotIn(List<String> values) {
            addCriterion("submission_type not in", values, "submissionType");
            return (Criteria) this;
        }

        public Criteria andSubmissionTypeBetween(String value1, String value2) {
            addCriterion("submission_type between", value1, value2, "submissionType");
            return (Criteria) this;
        }

        public Criteria andSubmissionTypeNotBetween(String value1, String value2) {
            addCriterion("submission_type not between", value1, value2, "submissionType");
            return (Criteria) this;
        }




    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}